package api;
import java.util.List;
import javax.ejb.Local;

import entities.Friend;
import entities.Usermessage;
import entities.Userprofile;

@Local
public interface ISocializer {
	public static enum MessageBoardsType {
		PUBLIC, PRIVATE
	}
	
	List<String> searchFriends(String searchString) 
		throws InvalidAuthenticationException;
	
	boolean sendFriendshipInvitation(int fromId, int toId)
		throws InvalidAuthenticationException;
	
	List<Friend> getPendingFriendshipRequests(int uid)
		throws InvalidAuthenticationException;
	
	boolean confirmFriendshipRequest(int uid, int requesterdId)
		throws InvalidAuthenticationException;
	
	boolean isFriendWith(int baseId, int friendId)
		throws InvalidAuthenticationException;
	
	boolean publishPublicMessage(int ownerId, int posterId, String message, int photoId)
		throws InvalidAuthenticationException;
	
	boolean publishPrivateMessage(int ownerId, int posterId, String message, int photoId)
		throws InvalidAuthenticationException;
	
	List<Usermessage> getPublicMessageList(int uid)
		throws InvalidAuthenticationException;
	
	List<Usermessage> getPrivateMessageList(int uid)
		throws InvalidAuthenticationException;

	int addPhoto(int uid, String photoPath)
		throws InvalidAuthenticationException;

	List<Userprofile> getMyFriends(int uid)
		throws InvalidAuthenticationException;
	
}
